package 链表;


/**
 * https://leetcode.cn/problems/swap-nodes-in-pairs/description/?envType=study-plan-v2&envId=top-100-liked
 *
 * 输入：head = [1,2,3,4]
 * 输出：[2,1,4,3]
 */
public class _24_两两交换链表中的节点 {

    public ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null) return head;

        ListNode next = head.next;
        // 当前节点的下一个节点是next.next(比如说1的下一个节点是4）
        head.next = swapPairs(next.next);
        // 2的下一个next是1
        next.next = head;
        // 返回的头节点是next
        return next;
    }
}
